package game.scene;

import utils.Range;
import game.components.Camera;
import game.players.SoccerPlayer;
import game.players.SoccerPlayerCPUMate;
import game.players.SoccerPlayerCPUOpponent;
import game.players.SoccerPlayerUser;
import game.players.cpu.opponent.IdleCPUOppPlayer;
import game.players.cpu.teammate.IdleCPUMate;
import game.players.goalkeeper.mate.GoalkeeperCPUMate;
import game.players.goalkeeper.opp.GoalkeeperCPUOpp;

public class LeftCornerKickScene extends MatchScene {

	public LeftCornerKickScene(Camera camera, int playerScore, int enemyScore,
			int minute, int second) {
		super(camera, playerScore, enemyScore, minute, second);
	}

	protected void setUpOpponents() {		
		this.getOpponents().add(new SoccerPlayerCPUOpponent(1000, 100, new Range(600, 1500), new Range(0, 250)));
		this.getOpponents().add(new SoccerPlayerCPUOpponent(0, 400, new Range(400, 1400), new Range(250, 500)));
		this.getOpponents().add(new SoccerPlayerCPUOpponent(-650, 0, new Range(-600, 650), new Range(-50, 250)));
		this.getOpponents().add(new SoccerPlayerCPUOpponent(-650, 500, new Range(-500, 650), new Range(250, 550)));
		
		for(SoccerPlayer opp : this.getOpponents())
			opp.setState(new IdleCPUOppPlayer(opp));
			
		this.getOpponents().add(new GoalkeeperCPUOpp(1500,300,this.getRightArc()));
		
		this.setOppenentsArc();
		
		this.getPlayers().addAll(this.getOpponents());
	}

	@Override
	protected void setUpTeammates() {
		this.getTeammates().add(new SoccerPlayerCPUMate(-700, 0, new Range(-600, 600), new Range(0, 250)));
		this.getTeammates().add(new SoccerPlayerCPUMate(-700, 500, new Range(-650, 400), new Range(250, 500)));
		this.getTeammates().add(new SoccerPlayerCPUMate(0, 170, new Range(200, 1400), new Range(-50, 250)));
		
		for(SoccerPlayer mate : this.getTeammates())
			mate.setState(new IdleCPUMate(mate));
		
		this.setUserPlayer(new SoccerPlayerUser(-600, 250));
		this.getTeammates().add(this.getUserPlayer());
		this.getTeammates().add(new GoalkeeperCPUMate(-750,250,this.getLeftArc()));
		
		this.setTeammatesArc();
		
		this.getPlayers().addAll(this.getTeammates());
	}

}
